[INFO] cloning repository https://github.com/snoyberg/routetype-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/snoyberg/routetype-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnoyberg%2Froutetype-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnoyberg%2Froutetype-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3b0840c1e326cacdbaba1cc868d76d04abb7d8de
[INFO] fixing snoyberg/routetype-rs against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnoyberg%2Froutetype-rs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/snoyberg/routetype-rs
[INFO] finished tweaking git repo https://github.com/snoyberg/routetype-rs
[INFO] tweaked toml for git repo https://github.com/snoyberg/routetype-rs written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/snoyberg/routetype-rs on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/snoyberg/routetype-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 737f7db5253c86c0bec4f410edda4b268f95ff16555272a2e102ff1fc732c436
[INFO] running `Command { std: "docker" "start" "737f7db5253c86c0bec4f410edda4b268f95ff16555272a2e102ff1fc732c436", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "737f7db5253c86c0bec4f410edda4b268f95ff16555272a2e102ff1fc732c436" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "737f7db5253c86c0bec4f410edda4b268f95ff16555272a2e102ff1fc732c436", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "737f7db5253c86c0bec4f410edda4b268f95ff16555272a2e102ff1fc732c436" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating routetype/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating routetype-derive/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating routetype-example/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating routetype-hyper/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating routetype-warp/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling syn v1.0.69
[INFO] [stderr]    Compiling libc v0.2.93
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling anyhow v1.0.40
[INFO] [stderr]     Checking futures-core v0.3.14
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]     Checking lock_api v0.4.3
[INFO] [stderr]    Compiling tokio v1.5.0
[INFO] [stderr]     Checking futures-sink v0.3.14
[INFO] [stderr]     Checking http v0.2.4
[INFO] [stderr]    Compiling radium v0.5.3
[INFO] [stderr]     Checking futures-task v0.3.14
[INFO] [stderr]     Checking futures-io v0.3.14
[INFO] [stderr]    Compiling httparse v1.4.0
[INFO] [stderr]    Compiling typenum v1.13.0
[INFO] [stderr]     Checking futures-channel v0.3.14
[INFO] [stderr]    Compiling lexical-core v0.7.5
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling nom v6.1.2
[INFO] [stderr]    Compiling cc v1.0.68
[INFO] [stderr]     Checking unicode-xid v0.2.1
[INFO] [stderr]     Checking tinyvec v1.2.0
[INFO] [stderr]     Checking unicode-bidi v0.3.5
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling wyz v0.2.0
[INFO] [stderr]    Compiling funty v1.1.0
[INFO] [stderr]     Checking cpuid-bool v0.1.2
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling async-trait v0.1.50
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]    Compiling bitvec v0.19.5
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]     Checking quote v1.0.9
[INFO] [stderr]     Checking input_buffer v0.4.0
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]    Compiling askama_escape v0.10.1
[INFO] [stderr]     Checking buf_redux v0.8.4
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]     Checking mio v0.7.11
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking signal-hook-registry v1.3.0
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking unicode-normalization v0.1.17
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking generic-array v0.14.4
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking socket2 v0.4.0
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking rand v0.8.3
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking sha-1 v0.9.4
[INFO] [stderr]     Checking twoway v0.1.8
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking tower-layer v0.3.1
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking http-body v0.4.1
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking headers v0.3.4
[INFO] [stderr]    Compiling rust-embed-utils v5.1.0
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]     Checking regex-syntax v0.6.23
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]     Checking multipart v0.17.1
[INFO] [stderr]     Checking url v2.2.1
[INFO] [stderr]     Checking regex v1.4.5
[INFO] [stderr]     Checking tungstenite v0.12.0
[INFO] [stderr]     Checking env_logger v0.8.3
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]     Checking routetype-derive v0.1.0 (/opt/rustwide/workdir/routetype-derive)
[INFO] [stderr]    Migrating routetype-derive/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking rustls v0.19.1
[INFO] [stderr]    Compiling tokio-macros v1.1.0
[INFO] [stderr]    Compiling futures-macro v0.3.14
[INFO] [stderr]    Compiling tracing-attributes v0.1.15
[INFO] [stderr]    Compiling pin-project-internal v1.0.7
[INFO] [stderr]    Compiling async-stream-impl v0.3.2
[INFO] [stderr]    Compiling prost-derive v0.7.0
[INFO] [stderr]    Compiling rust-embed-impl v5.9.0
[INFO] [stderr]     Checking async-stream v0.3.2
[INFO] [stderr]     Checking futures-util v0.3.14
[INFO] [stderr]     Checking rust-embed v5.9.0
[INFO] [stderr]     Checking routetype v0.1.0 (/opt/rustwide/workdir/routetype)
[INFO] [stderr]    Migrating routetype/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking tracing v0.1.25
[INFO] [stderr]     Checking prost v0.7.0
[INFO] [stderr]     Checking pin-project v1.0.7
[INFO] [stderr]    Migrating routetype/tests/deriving.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating routetype/tests/manual.rs from 2018 edition to 2021
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking futures-executor v0.3.14
[INFO] [stderr]     Checking futures v0.3.14
[INFO] [stderr]     Checking tokio-util v0.6.6
[INFO] [stderr]     Checking tokio-stream v0.1.5
[INFO] [stderr]     Checking tokio-tungstenite v0.13.0
[INFO] [stderr]     Checking tokio-rustls v0.22.0
[INFO] [stderr]     Checking h2 v0.3.2
[INFO] [stderr]     Checking tower v0.4.8
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]     Checking serde_json v1.0.64
[INFO] [stderr]     Checking serde_urlencoded v0.7.0
[INFO] [stderr]    Compiling askama_shared v0.11.1
[INFO] [stderr]     Checking hyper v0.14.5
[INFO] [stderr]    Compiling askama_derive v0.10.5
[INFO] [stderr]     Checking askama v0.10.5
[INFO] [stderr]     Checking warp v0.3.1
[INFO] [stderr]     Checking tonic v0.4.3
[INFO] [stderr]     Checking routetype-hyper v0.1.0 (/opt/rustwide/workdir/routetype-hyper)
[INFO] [stderr]    Migrating routetype-hyper/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking routetype-warp v0.1.0 (/opt/rustwide/workdir/routetype-warp)
[INFO] [stderr]    Migrating routetype-warp/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking routetype-example v0.1.0 (/opt/rustwide/workdir/routetype-example)
[INFO] [stderr]    Migrating routetype-example/src/warp.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating routetype-example/src/hyper.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.92s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1, nom v6.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr] crater-edition-check: routetype v0.1.0 (/opt/rustwide/workdir/routetype) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: routetype-derive v0.1.0 (/opt/rustwide/workdir/routetype-derive) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: routetype-example v0.1.0 (/opt/rustwide/workdir/routetype-example) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: routetype-hyper v0.1.0 (/opt/rustwide/workdir/routetype-hyper) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: routetype-warp v0.1.0 (/opt/rustwide/workdir/routetype-warp) updating edition from 2018 to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling routetype-derive v0.1.0 (/opt/rustwide/workdir/routetype-derive)
[INFO] [stderr]     Checking routetype v0.1.0 (/opt/rustwide/workdir/routetype)
[INFO] [stdout] warning: field `rules` is never read
[INFO] [stdout]   --> routetype/src/normalize.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Normalization {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 18 |     rules: NormalizationRules,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Normalization` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/lib.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn path(&self) -> Vec<PathSegment>;
[INFO] [stdout]    |             ^^^^^         ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn path(&self) -> Vec<PathSegment<'_>>;
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/lib.rs:53:14
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn query(&self) -> Option<Vec<QueryPair>>;
[INFO] [stdout]    |              ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn query(&self) -> Option<Vec<QueryPair<'_>>>;
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/lib.rs:98:27
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn render_route_piece(&self) -> Cow<str>;
[INFO] [stdout]    |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn render_route_piece(&self) -> Cow<'_, str>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/lib.rs:106:27
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn render_route_piece(&self) -> Cow<str> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn render_route_piece(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/lib.rs:116:27
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn render_route_piece(&self) -> Cow<str> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn render_route_piece(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/lib.rs:130:27
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn render_route_piece(&self) -> Cow<str> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn render_route_piece(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/lib.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn path(&self) -> Vec<PathSegment> {
[INFO] [stdout]     |             ^^^^^         ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn path(&self) -> Vec<PathSegment<'_>> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/lib.rs:208:14
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn query(&self) -> Option<Vec<QueryPair>> {
[INFO] [stdout]     |              ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn query(&self) -> Option<Vec<QueryPair<'_>>> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/raw.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |     path_and_query: &str,
[INFO] [stdout]    |                     ^^^^ the lifetime is elided here
[INFO] [stdout] 20 | ) -> (
[INFO] [stdout] 21 |     impl Iterator<Item = PathSegment>,
[INFO] [stdout]    |                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 22 |     Option<impl Iterator<Item = QueryPair>>,
[INFO] [stdout]    |                                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 ~     impl Iterator<Item = PathSegment<'_>>,
[INFO] [stdout] 22 ~     Option<impl Iterator<Item = QueryPair<'_>>>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/raw.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn decode(s: &str) -> Cow<str> {
[INFO] [stdout]    |              ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn decode(s: &str) -> Cow<'_, str> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/raw.rs:58:29
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn parse_path(mut path: &str) -> impl Iterator<Item = PathSegment> {
[INFO] [stdout]    |                             ^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn parse_path(mut path: &str) -> impl Iterator<Item = PathSegment<'_>> {
[INFO] [stdout]    |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/raw.rs:100:27
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn parse_query(query: &str) -> impl Iterator<Item = QueryPair> {
[INFO] [stdout]     |                           ^^^^                          ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn parse_query(query: &str) -> impl Iterator<Item = QueryPair<'_>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/raw.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn parse_query_pair(pair: &str) -> QueryPair {
[INFO] [stdout]     |                           ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn parse_query_pair(pair: &str) -> QueryPair<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking routetype-hyper v0.1.0 (/opt/rustwide/workdir/routetype-hyper)
[INFO] [stderr]     Checking routetype-warp v0.1.0 (/opt/rustwide/workdir/routetype-warp)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/tests/manual.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn path(&self) -> Vec<PathSegment> {
[INFO] [stdout]    |             ^^^^^         ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn path(&self) -> Vec<PathSegment<'_>> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/tests/manual.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn query(&self) -> Option<Vec<QueryPair>> {
[INFO] [stdout]    |              ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn query(&self) -> Option<Vec<QueryPair<'_>>> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rules` is never read
[INFO] [stdout]   --> routetype/src/normalize.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Normalization {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 18 |     rules: NormalizationRules,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Normalization` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/lib.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn path(&self) -> Vec<PathSegment>;
[INFO] [stdout]    |             ^^^^^         ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn path(&self) -> Vec<PathSegment<'_>>;
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/lib.rs:53:14
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn query(&self) -> Option<Vec<QueryPair>>;
[INFO] [stdout]    |              ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn query(&self) -> Option<Vec<QueryPair<'_>>>;
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/lib.rs:98:27
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn render_route_piece(&self) -> Cow<str>;
[INFO] [stdout]    |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn render_route_piece(&self) -> Cow<'_, str>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/lib.rs:106:27
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn render_route_piece(&self) -> Cow<str> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn render_route_piece(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/lib.rs:116:27
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn render_route_piece(&self) -> Cow<str> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn render_route_piece(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/lib.rs:130:27
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn render_route_piece(&self) -> Cow<str> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn render_route_piece(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/lib.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn path(&self) -> Vec<PathSegment> {
[INFO] [stdout]     |             ^^^^^         ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn path(&self) -> Vec<PathSegment<'_>> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/lib.rs:208:14
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn query(&self) -> Option<Vec<QueryPair>> {
[INFO] [stdout]     |              ^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn query(&self) -> Option<Vec<QueryPair<'_>>> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/raw.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |     path_and_query: &str,
[INFO] [stdout]    |                     ^^^^ the lifetime is elided here
[INFO] [stdout] 20 | ) -> (
[INFO] [stdout] 21 |     impl Iterator<Item = PathSegment>,
[INFO] [stdout]    |                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 22 |     Option<impl Iterator<Item = QueryPair>>,
[INFO] [stdout]    |                                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 ~     impl Iterator<Item = PathSegment<'_>>,
[INFO] [stdout] 22 ~     Option<impl Iterator<Item = QueryPair<'_>>>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/raw.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn decode(s: &str) -> Cow<str> {
[INFO] [stdout]    |              ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn decode(s: &str) -> Cow<'_, str> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> routetype/src/raw.rs:58:29
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn parse_path(mut path: &str) -> impl Iterator<Item = PathSegment> {
[INFO] [stdout]    |                             ^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn parse_path(mut path: &str) -> impl Iterator<Item = PathSegment<'_>> {
[INFO] [stdout]    |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/raw.rs:100:27
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn parse_query(query: &str) -> impl Iterator<Item = QueryPair> {
[INFO] [stdout]     |                           ^^^^                          ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn parse_query(query: &str) -> impl Iterator<Item = QueryPair<'_>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> routetype/src/raw.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn parse_query_pair(pair: &str) -> QueryPair {
[INFO] [stdout]     |                           ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn parse_query_pair(pair: &str) -> QueryPair<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking routetype-example v0.1.0 (/opt/rustwide/workdir/routetype-example)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 54.41s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1, nom v6.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating routetype/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating routetype-derive/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating routetype-example/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating routetype-hyper/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating routetype-warp/Cargo.toml from 2018 edition to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Checking routetype v0.1.0 (/opt/rustwide/workdir/routetype)
[INFO] [stderr]    Migrating routetype/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking routetype-derive v0.1.0 (/opt/rustwide/workdir/routetype-derive)
[INFO] [stdout] warning: `impl Iterator<Item = (Cow<'b, str>, Option<Cow<'b, str>>)>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> routetype/src/normalize.rs:47:20
[INFO] [stdout]    |
[INFO] [stdout] 47 |             Option<impl Iterator<Item = QueryPair<'b>>>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> routetype/src/normalize.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn normalize_parse<'a, 'b>(
[INFO] [stdout]    |                            ^^
[INFO] [stdout] 41 |         &self,
[INFO] [stdout]    |         ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> routetype/src/normalize.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 |         path: impl Iterator<Item = PathSegment<'a>>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |         query: Option<impl Iterator<Item = QueryPair<'b>>>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     pub fn normalize_parse<'a, 'b, T: Iterator<Item = PathSegment<'a>>, U: Iterator<Item = QueryPair<'b>>>(
[INFO] [stdout] 41 |         &self,
[INFO] [stdout] 42 ~         path: T,
[INFO] [stdout] 43 ~         query: Option<U>,
[INFO] [stdout] 44 |     ) -> Result<
[INFO] [stdout] 45 |         (
[INFO] [stdout] 46 |             Vec<PathSegment<'a>>,
[INFO] [stdout] 47 ~             Option<impl Iterator<Item = QueryPair<'b>> + use<'b, T, U>>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking routetype-warp v0.1.0 (/opt/rustwide/workdir/routetype-warp)
[INFO] [stderr]     Checking routetype-hyper v0.1.0 (/opt/rustwide/workdir/routetype-hyper)
[INFO] [stderr]     Checking routetype-example v0.1.0 (/opt/rustwide/workdir/routetype-example)
[INFO] [stderr]    Migrating routetype-derive/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: `impl Iterator<Item = (std::borrow::Cow<'b, str>, Option<std::borrow::Cow<'b, str>>)>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> routetype/src/normalize.rs:47:20
[INFO] [stdout]    |
[INFO] [stdout] 47 |             Option<impl Iterator<Item = QueryPair<'b>>>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> routetype/src/normalize.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn normalize_parse<'a, 'b>(
[INFO] [stdout]    |                            ^^
[INFO] [stdout] 41 |         &self,
[INFO] [stdout]    |         ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> routetype/src/normalize.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 |         path: impl Iterator<Item = PathSegment<'a>>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |         query: Option<impl Iterator<Item = QueryPair<'b>>>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     pub fn normalize_parse<'a, 'b, T: Iterator<Item = PathSegment<'a>>, U: Iterator<Item = QueryPair<'b>>>(
[INFO] [stdout] 41 |         &self,
[INFO] [stdout] 42 ~         path: T,
[INFO] [stdout] 43 ~         query: Option<U>,
[INFO] [stdout] 44 |     ) -> Result<
[INFO] [stdout] 45 |         (
[INFO] [stdout] 46 |             Vec<PathSegment<'a>>,
[INFO] [stdout] 47 ~             Option<impl Iterator<Item = QueryPair<'b>> + use<'b, T, U>>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating routetype/tests/deriving.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating routetype-warp/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating routetype/tests/manual.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating routetype-hyper/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating routetype-example/src/hyper.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> routetype-example/src/hyper.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     try_join!(plain, tls)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^-- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.40/src/error.rs:554:1
[INFO] [stdout]     |
[INFO] [stdout] 554 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.40/src/error.rs:554:1
[INFO] [stdout]     |
[INFO] [stdout] 554 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::try_join` which comes from the expansion of the macro `try_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating routetype-example/src/warp.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> routetype-example/src/hyper.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     try_join!(plain, tls)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^-- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.40/src/error.rs:554:1
[INFO] [stdout]     |
[INFO] [stdout] 554 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.40/src/error.rs:554:1
[INFO] [stdout]     |
[INFO] [stdout] 554 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::try_join` which comes from the expansion of the macro `try_join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 57.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1, nom v6.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr] crater-edition-check: routetype v0.1.0 (/opt/rustwide/workdir/routetype) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: routetype-derive v0.1.0 (/opt/rustwide/workdir/routetype-derive) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: routetype-example v0.1.0 (/opt/rustwide/workdir/routetype-example) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: routetype-hyper v0.1.0 (/opt/rustwide/workdir/routetype-hyper) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: routetype-warp v0.1.0 (/opt/rustwide/workdir/routetype-warp) updating edition from 2021 to 2024
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2024 which implies `resolver = "3"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2024 resolver, specify `workspace.resolver = "3"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling routetype-derive v0.1.0 (/opt/rustwide/workdir/routetype-derive)
[INFO] [stderr]     Checking routetype v0.1.0 (/opt/rustwide/workdir/routetype)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> routetype/src/lib.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let (path, query) = normalize::Normalization::default()
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 188 |             .normalize_parse(path, query)
[INFO] [stdout] 189 |             .map_err(RouteError::NormalizationFailed)?;
[INFO] [stdout]     |                                                       - temporary value is freed at the end of this statement
[INFO] [stdout] ...
[INFO] [stdout] 192 |             query: query.map(|q| {
[INFO] [stdout]     |                    ----- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> routetype/src/lib.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |           let (path, query) = normalize::Normalization::default()
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 188 | |             .normalize_parse(path, query)
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> routetype/src/normalize.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |         path: impl Iterator<Item = PathSegment<'a>>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  43 |         query: Option<impl Iterator<Item = QueryPair<'b>>>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     |
[INFO] [stdout] 187 ~         let binding = normalize::Normalization::default();
[INFO] [stdout] 188 ~         let (path, query) = binding
[INFO] [stdout]     |
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> routetype/src/normalize.rs:40:34
[INFO] [stdout]     |
[INFO] [stdout]  40 ~     pub fn normalize_parse<'a, 'b, T: Iterator<Item = PathSegment<'a>>, U: Iterator<Item = QueryPair<'b>>>(
[INFO] [stdout]  41 |         &self,
[INFO] [stdout]  42 ~         path: T,
[INFO] [stdout]  43 ~         query: Option<U>,
[INFO] [stdout]  44 |     ) -> Result<
[INFO] [stdout]  45 |         (
[INFO] [stdout]  46 |             Vec<PathSegment<'a>>,
[INFO] [stdout]  47 ~             Option<impl Iterator<Item = QueryPair<'b>> + use<'b, T, U>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `routetype` (lib) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> routetype/src/normalize.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Normalization::default().normalize_parse(path.iter().copied().map(Cow::Borrowed), q)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use - temporary value is freed at the end of this statement
[INFO] [stdout] 115 |         assert!(q.is_none());
[INFO] [stdout]     |                 - borrow later used here
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> routetype/src/normalize.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Normalization::default().normalize_parse(path.iter().copied().map(Cow::Borrowed), q)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> routetype/src/normalize.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |         path: impl Iterator<Item = PathSegment<'a>>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  43 |         query: Option<impl Iterator<Item = QueryPair<'b>>>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     |
[INFO] [stdout] 113 ~         let binding = Normalization::default();
[INFO] [stdout] 114 ~         let (p, q) =
[INFO] [stdout] 115 ~             binding.normalize_parse(path.iter().copied().map(Cow::Borrowed), q)?;
[INFO] [stdout]     |
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout]  40 ~     pub fn normalize_parse<'a, 'b, T: Iterator<Item = PathSegment<'a>>, U: Iterator<Item = QueryPair<'b>>>(
[INFO] [stdout]  41 |         &self,
[INFO] [stdout]  42 ~         path: T,
[INFO] [stdout]  43 ~         query: Option<U>,
[INFO] [stdout]  44 |     ) -> Result<
[INFO] [stdout]  45 |         (
[INFO] [stdout]  46 |             Vec<PathSegment<'a>>,
[INFO] [stdout]  47 ~             Option<impl Iterator<Item = QueryPair<'b>> + use<'b, T, U>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> routetype/src/lib.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let (path, query) = normalize::Normalization::default()
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 188 |             .normalize_parse(path, query)
[INFO] [stdout] 189 |             .map_err(RouteError::NormalizationFailed)?;
[INFO] [stdout]     |                                                       - temporary value is freed at the end of this statement
[INFO] [stdout] ...
[INFO] [stdout] 192 |             query: query.map(|q| {
[INFO] [stdout]     |                    ----- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> routetype/src/lib.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |           let (path, query) = normalize::Normalization::default()
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 188 | |             .normalize_parse(path, query)
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> routetype/src/normalize.rs:42:15
[INFO] [stdout]     |
[INFO] [stdout]  42 |         path: impl Iterator<Item = PathSegment<'a>>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  43 |         query: Option<impl Iterator<Item = QueryPair<'b>>>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     |
[INFO] [stdout] 187 ~         let binding = normalize::Normalization::default();
[INFO] [stdout] 188 ~         let (path, query) = binding
[INFO] [stdout]     |
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> routetype/src/normalize.rs:40:34
[INFO] [stdout]     |
[INFO] [stdout]  40 ~     pub fn normalize_parse<'a, 'b, T: Iterator<Item = PathSegment<'a>>, U: Iterator<Item = QueryPair<'b>>>(
[INFO] [stdout]  41 |         &self,
[INFO] [stdout]  42 ~         path: T,
[INFO] [stdout]  43 ~         query: Option<U>,
[INFO] [stdout]  44 |     ) -> Result<
[INFO] [stdout]  45 |         (
[INFO] [stdout]  46 |             Vec<PathSegment<'a>>,
[INFO] [stdout]  47 ~             Option<impl Iterator<Item = QueryPair<'b>> + use<'b, T, U>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `routetype` (lib test) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "737f7db5253c86c0bec4f410edda4b268f95ff16555272a2e102ff1fc732c436", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "737f7db5253c86c0bec4f410edda4b268f95ff16555272a2e102ff1fc732c436", kill_on_drop: false }`
[INFO] [stdout] 737f7db5253c86c0bec4f410edda4b268f95ff16555272a2e102ff1fc732c436
